System and method for delivering customized advertisements within interactive communication systems

ABSTRACT

The present invention is a system and method for delivering customized electronic advertisements in an interactive communication system. The customized advertisements are selected based on consumer profiles and are then integrated with offerings maintained by different content providers. The preferred interactive communication system interconnects multiple consumer computers, multiple content provider computers and multiple Internet provider computers with an advertisement provider computer. Whenever a consumer directs one of the consumer computers to access an offering existing in one of the content provider computers, an advertising request is sent to the advertisement provider computer. Upon receiving the advertising request, the advertising provider computer generates a custom advertisement based on the consumer&#39;s profile. The custom advertisement is then combined with the offering from the content provider computer and displayed to the consumer. The advertisement provider computer also credits a consumer account, a content provider account and an internet provider account each time a consumer views a custom advertisement. Furthermore, the advertisement provider computer tracks consumer responses to the customized advertisements.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to communication systems and, in particular, to an apparatus and method for delivering customized advertisements within interactive communications systems.

2. Background

Recently, a wide range of interactive devices have been developed to provide information to consumers. These interactive devices include, for example, computers connected to various computer on-line services, interactive kiosks, interactive television systems and the like. In particular, the popularity of computer on-line services has grown immensely in popularity over the last decade.

Computer on-line services are provided by a wide variety of different companies. In general, most computer on-line services are accessed via the Internet. The Internet is a global network of computers. The structure of the Internet is a network backbone with networks branching from the backbone. These branches, in turn, have networks branching from them, and so on. Routers move information packets from network to network, until the information packets reach their destination. For a more detailed description of the structure and operation of the Internet, please refer to "The Internet Complete Reference," by Harley Hahn and Rick Stout, published by McGraw-Hill, 1994.

One popular part of the Internet is the World Wide Web. The World Wide Web contains computers which display graphical and textual information. Computers which provide information on the World Wide Web are typically called "websites." A website is defined by an Internet address which has an associated electronic page, often called a "home page." Generally, a home page is an electronic document which organizes the presentation of text, graphical images, audio and video into a desired display. These websites are operated by a wide variety of entities which are typically called "content providers."

A user may access the Internet using a home personal computer (PC) equipped with a conventional modem. Special interface software is installed within the PC so that when the user wishes to access the Internet, an attached modem is automatically instructed to dial the telephone number associated with the local Internet host server. The user can then access information at any address accessible over the Internet. Two well-known software interfaces, for example, are the Netscape Navigator developed by Netscape, Inc. and the Microsoft Internet Explorer developed by Microsoft Corporation.

Information exchanged over the Internet is typically encoded in HyperText Mark-up Language (HTML) format. The HTML format is a scripting language which is used to generate the home pages for different content providers. In this setting, a content provider is an individual or company that places information (content) on the Internet so that it can be accessed by others. As is well known in the art, the HTML format is a set of conventions for marking different portions of a document so that each portion appears in a distinctive format. For example, the HTML format identifies or "tags" portions of a document to identify different categories of text (e.g., the title, header, body text, etc.). When a web browser accesses a HTML document, the web browser reads the embedded tags in the document so it appears formatted in the specified manner.

A HTML document can also include hyper-links which allow a user to move from one document to another document on the Internet. A hyper-link is an underlined or otherwise emphasized portion of text which, when selected using an input device such as a mouse, activates a software connection module which allows the user to jump between documents (i.e., within the same website or to other websites). Hyper-links are well known in the art, and are sometimes referred to as anchors.

Although the Internet and the World Wide Web, together with other interactive devices, are used widely to share information among different users, the full range of possibilities for use of these interactive computer services have not yet been fully developed.

As the popularity of the Internet and the World Wide Web has increased over the years, more companies are trying to find ways of promoting their product in a cost-effective manner. Thus, there has been a tremendous proliferation of corporate advertising across the Internet. For example, some companies such as Yahoo Corporation offer free services, such as the ability to search for particular sites on the Internet, but post advertising messages to consumers to help offset the cost of their service. Unfortunately, there is so far no effective way of targeting particular advertisements to those consumers most likely to use the product or service being offered. Therefore, a tremendous amount of advertising is wasted on promoting goods or services to an improper audience. As the number of people accessing the Internet increases, it will become more important to specifically target advertising to those individuals most likely to purchase the goods or services being offered. It will also be important for advertisers to know how effective a particular ad has become by tracking the responses of individual consumers. Unfortunately, there is currently no convenient mechanism for predetermining which users might be interested in a particular category of advertised goods or services. There is also no current method for tracking consumer responses to particular advertisements.

SUMMARY OF THE INVENTION

The system of the present invention overcomes the difficulties discussed above by providing an on-line advertising service which can custom tailor specific advertisements to particular consumers and track consumer responses to the advertisements. In particular, the present invention is a system and method for delivering customized advertisements to users of interactive devices. The interactive devices of the present invention can include computers connected to on-line services, interactive kiosks, interactive television systems and the like. In broad terms, the present invention includes a communications system having at least three different entities which communicate with each other. The entities include: a content provider, an advertisement provider and a consumer.

In the preferred embodiment, the invention is directed to delivering custom advertisements to consumers who use their computers to view information offered by different content providers existing on the Internet. Preferably, when a consumer accesses a content provider, the content provider transmits an electronic document to the consumer. Embedded within the electronic document is a advertisement request. When the consumer's computer displays the electronic document, the embedded advertisement request directs the consumer computer to communicate with an advertisement provider. In response, the advertisement provider provides a customized advertisement. The advertisement provider then tracks the consumer's response to the customized advertisement.

The advertisement provider operates a computer which is also connected to the Internet. The advertisement provider's computer stores demographic information about consumers, and sends customized advertisements to the consumers based on the consumers demographic profile and tracks consumer responses to the customized advertisements. For example, when accessing a content provider's website, a consumer with a demographic profile indicating an interest in farming would be sent customized advertisements for farm products by the advertisement provider. Customer requests for more information about the advertised farm products are also monitored.

A consumer who wishes to receive customized advertisements first registers with the advertisement provider by entering pertinent demographic information into the advertisement provider's demographic database. The advertisement provider then retains a demographic profile of the consumer. In return, the advertisement provider assigns the consumer a unique member code. In an alternate embodiment, the consumer is sent unique software which enhances the consumer's Internet browser so that custom advertisements can be merged with electronic documents obtained from the content provider.

The content provider websites also register with the advertisement provider before they can receive the customized advertisement services. During registration, the advertisement provider assigns a custom member code to the content provider, creates a program called a "content provider script" for each content provider, and transfers an "advertisement request" to the content provider which identifies the content provider script. Preferably, the content provider script contains the content provider's member code. The advertisement request, on the other hand, contains commands which invoke the content provider script.

After obtaining the advertisement request, the content provider embeds the advertisement request into its electronic documents. When a registered consumer accesses a content provider's website, the content provider website transfers the electronic document and the embedded advertisement request to the consumer's computer. The embedded advertisement request directs the consumer computer to invoke the referenced content provider script in the advertisement provider computer. The advertisement provider executes the content provider script and obtains the content provider member code. The advertisement provider uses the content provider member code to track the number of advertisements displayed by a particular content provider.

In addition, to executing the content provider script, the advertisement provider also obtains the consumer's member code from the consumer computer. The advertisement provider uses the consumer member code to identify the consumer's demographic profile and preferences. The advertisement provider then selects an appropriate advertisement based on the consumer's profile and sends the customized advertisement to the consumer computer. The consumer computer then merges the content provider's electronic document with the advertisement provided by the advertisement provider to create a single displayed document to the consumer.

Another feature of the invention is directed to monitoring the particular advertisements which are viewed by particular consumers. With this information, advertisers can pay for advertising directed at specific demographic target groups. Additionally, advertisers may be billed by the advertisement provider based on actual delivery of the advertisements to pertinent consumers.

The invention also supports custom advertisements which can contain hyper-links to other information. The hyper-links typically direct the user's Internet browser to access different websites on the Internet. For example, if a consumer wishes to obtain additional information about an advertised product or service, the consumer may simply use a mouse to select an embedded hyper-link in the custom advertisement and be immediately transported to an advertiser's website. At the advertiser's website, the user may receive a directed sales pitch, more information or a purchase order request form.

An additional feature of the invention allows the advertisement provider to monitor the number of advertisements viewed by consumers associated with a particular content provider. With this information, the content providers can receive advertising revenue based on the number of consumers who access their websites. This frees the content providers from having to generate advertising data, from having to individually contact advertisers, from having to negotiate advertising payment fees, and from having to maintain an advertising administrative staff.

Another aspect of the invention relates to the addition of a fourth category of entities--the Internet providers. An Internet provider is a service which provides Internet access to consumers. Examples of Internet providers include American On-line, the Microsoft Network, Prodigy, Compuserve, and Network Intensive. Many users pay monthly access fees to the Internet providers to obtain local telephone connections, a variety of help services and an organized format for accessing the Internet.

When a consumer registers with the advertisement provider, this aspect of the present invention obtains information about the consumer's Internet provider and stores this information in the demographic profile. The system of the present invention can then monitor the number of advertisements viewed by consumers associated with a particular Internet provider. Accordingly, the system of the present invention can pay an Internet provider based on the number of advertisements viewed by its consumers. The Internet providers can then use this advertising revenue to reduce consumer access fees.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a high level block diagram of the preferred system of the present invention and illustrates the interaction between the consumer computer, content provider computer, and advertisement provider computer.

FIG. 2 is a block diagram of the preferred system of the present invention showing the interaction of many consumer computers and content provider computers with an advertisement provider computer.

FIG. 3 is a high level flow diagram of the preferred process for sending electronic information and custom advertisements to a consumer computer.

FIG. 4 is a block diagram of the preferred system of the present invention showing the flow of information among the consumer computer, content provider computer and advertisement provider computer through a communication medium.

FIG. 5 is a flow diagram of the preferred process of registering a consumer with an advertisement provider.

FIG. 6 is a flow diagram of the preferred process of registering a content provider with an advertisement provider.

FIG. 7 is a flow diagram of the preferred process whereby a consumer accesses a content provider and is thereafter sent an electronic document and customer advertisement.

FIG. 8 is a detailed flow diagram of the preferred process where by the advertisement provider computer delivers the customized advertisement to the consumer computer.

FIG. 9 is a block diagram of an alternative embodiment of the present invention wherein the customized advertisement is sent through the content provider computer prior to reaching the consumer computer.

FIG. 10 is a block diagram of an alternative embodiment of the present invention wherein the content provider computer requests the customized advertisement and the advertisement computer then sends the customized advertisement directly to the consumer computer.

FIG. 11 is a block diagram of another embodiment of the present invention showing the flow of information among the consumer computer, content provider computer and advertisement provider computer through a communication medium.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention is an apparatus and method for providing customized advertisements to consumers. In a preferred embodiment, the customized advertisements are generated by an advertisement provider computer whenever a consumer accesses a content provider website. Although the present invention is described herein with reference to a preferred interactive communications system, the invention is not so limited, and can be used in a variety of other contexts in which it is desirable to provide customized advertisements to consumers.

To facilitate a complete understanding of the invention, the remainder of the detailed description is arranged within the following sections and subsections:

I. Glossary of Terms and Acronyms

II. Overview of the Preferred Interactive Communication System

III. Implementation of the Preferred Interactive Communication System

A. The Communication Medium

B. The Consumer Computers

C. The Content Provider Computers

D. The Advertisement Provider Computer

IV. Registration and Customized Advertisement Processing

A. Consumer Registration

B. Content Provider Registration

C. Customized Advertisement Processing

V. Other Embodiments

VI. Conclusion

I. Glossary of Terms and Acronyms

The following terms and acronyms are used throughout the detailed description:

Client-Server. A model of interaction in a distributed system in which a program at one site sends a request to a program at another site and waits for a response. The requesting program is called the "client," and the program which responds to the request is called the "server." In the context of the World Wide Web, the client is typically a "Web browser" which runs on a user's computer; the program which responds to Web browser requests at a website is commonly referred to as a "Web server."

Common Gateway Interface (CGI). A standard interface which specifies how a Web server (or possibly another information server) launches and interacts with external programs (such as a database search engine) in response to requests from clients. For example, when a consumer Web user fills out an on-screen form which is linked to a database query, the on-screen form will invoke a common gateway interface program (called a CGI "script") which processes the desired database query. For more information on the common gateway interface, see Ian S. Graham, The HTML Source Book, John Wiley and Sons, Inc., 1995 (ISBN 0471-11894-4), pp. 231-278.

Digital Cash. In digital cash commerce, a consumer who maintains an electronic bank account and a payee who maintains an electronic bank account can engage in on-line transactions. When the consumer purchases a good or service with digital cash, the consumer's bank account is automatically debited and the payee's bank account is automatically credited. Likewise, when providing a digital cash refund or transfer, the payee can debit its own bank account while crediting the consumer's bank account.

Internet. A collection of interconnected (public and/or private) networks that are linked together by a set of standard protocols to form a distributed network. While this term is intended to refer to what is now commonly known as the Internet, it is also intended to encompass variations which may be made in the future, including changes and additions to existing standard protocols.

HyperText Markup Language (HTML). A standard coding convention and set of codes for attaching presentation and linking attributes to informational content within documents. (HTML 2.0 is currently the primary standard used for generating Web documents.) During a document authoring stage, the HTML codes (referred to as "tags") are embedded within the informational content of the document. When the Web document (or "HTML document") is subsequently transferred from a Web server to a Web browser, the codes are interpreted by the Web browser and used to parse and display the document. In addition to specifying how the Web browser is to display the document, HTML tags can be used to create links to other websites and other Web documents (commonly referred to as "hyper-links"). For more information on HTML, see Ian S. Graham, The HTML Source Book, John Wiley and Sons, Inc., 1995 (ISBN 0471-11894-4).

Hypertext Transport Protocol (HTTP). The standard World Wide Web client-server protocol used for the exchange of information (such as HTML documents, and client requests for such documents) between a Web browser and a Web server. HTTP includes a number of different types of messages which can be sent from the client to the server to request different types of server actions. For example, a "GET" message, which has the format GET <URL>, causes the server to return the document or file located at the specified Universal Resource Locator (URL).

Persistent Client State Cookies (Cookie). A file stored on the client computer which contains information such as user names and preferences. In the preferred embodiment, the Cookie in the consumer computer stores a member code which uniquely identifies each consumer. The specification for Cookies can be found at http://www.netscape.com/newsref/std/cookie₋₋ spec.html.

Plug-in. A plug-in is a custom application which allows developers to customize or enhance features of Web browsers and Web servers. Thus, a plug-in works in concert with the Web browser or a Web server to provide additional features. Typically, a HTML tag exists in a HTML document which commands the Web browser or Web server to launch the plug-in. For example, a HTML tag may command a Web browser to execute a plug-in which communicates with an external database. The plug-in specification documentation can be found at http://www.netscape.com and http://www.microsoft.com.

Transmission Control Protocol/Internet Protocol (TCP/IP). A standard Internet protocol (or set of protocols) which specifies how two computers exchange data over the Internet. TCP/IP handles issues such as packetization, packet addressing, handshaking and error correction. For more information on TCP/IP, see Volumes I, II and III of Comer and Stevens, Internetworking with TCP/IP, Prentice Hall, Inc., ISBNs 0-13-468505-9 (vol. I), 0-13-125527-4 (vol. II), and 0-13-474222-2 (vol. III).

Uniform Resource Locator (URL). A unique address which fully specifies the location of a file or other resource on the Internet. The general format of a URL is protocol://machine address:port/path/filename. The port specification is optional, and if none is entered by the user, the Web browser defaults to the standard port for whatever service is specified as the protocol. For example, if HTTP is specified as the protocol, the Web browser will use the HTTP default port.

World Wide Web ("Web"). Used herein to refer generally to both (1) a distributed collection of interlinked, user-viewable hypertext documents (commonly referred to as "Web documents" or "electronic pages" or "home pages") that are accessible via the Internet, and (2) the client and server software components which provide user access to such documents using standardized Internet protocols. Currently, the primary standard protocol for allowing applications to locate and acquire Web documents is the HyperText Transfer Protocol (HTTP), and the electronic pages are encoded using the HyperText Markup Language (HTML). However, the terms "Web" and "World Wide Web" are intended to encompass future markup languages and transport protocols which may be used in place of or in addition to the HyperText Markup Language and the HyperText Transfer Protocol.

II. Overview Of The Preferred Interactive Communication System

This section provides an overview of an interactive communication system in a preferred embodiment of the present invention. A block diagram of the preferred interactive communication system is shown in FIG. 1. The interactive communication system 10 includes a consumer computer 12, a content provider computer 14 and an advertisement provider computer 18 which communicate with each other by use of a communication medium 20.

In operation, a consumer directs the consumer computer 12 to communicate with the content provider computer 14 via the communication medium 20. Once the consumer computer 12 establishes a communication link with the content provider computer 14, the content provider computer 14 transfers an electronic page 32 to the consumer computer 12. The preferred electronic page 32 contains an embedded advertisement request 26.

When the consumer computer 12 receives the electronic page 32, it executes the embedded advertisement request 26. The embedded advertisement request 26 directs the consumer computer 12 to establish a communications link with the advertisement provider computer 18. Furthermore the embedded advertisement request 26 directs the advertisement provider computer 18 to execute a content provider script (not shown). The content provider script exists on the advertisement provider computer 18 and contains a content provider member code (not shown). The advertisement provider computer 18 uses the content provider member code to track the number of advertisements viewed by the consumer computers 12 connected to a particular content provider computer 14.

In addition, the consumer computer 12 contains a consumer member code 22 which uniquely identifies the consumer. The advertisement provider computer 18 obtains the consumer member code 22 and uses the consumer's member code 22 to access the consumer's profile in a demographic database (not shown). Based on the consumer's profile, the advertisement provider computer 18 selects an appropriate customized advertisement 30. The advertisement provider computer 18 then sends the customized advertisement 30 to the consumer computer 12. As discussed in more detail below, the consumer computer 12 merges the electronic page 32 and customized advertisement 30.

As shown in FIG. 2, a single advertisement provider computer 18 also supports an interactive communication system with multiple consumer computers 12 and multiple content provider computers 14. As different consumer computers 12 access different content provider computers 14, the content provider computers 14 communicate with the advertisement provider computer 18 as discussed above. In the preferred embodiment, the advertisement provider computer 18 is configured to respond to each of the content provider 14 computers in a timely manner. It should be noted that a single advertisement provider 18 can manage requests from numerous content providers and act like a "clearing house" for advertisements.

Referring to FIG. 3, an overview of the process of a consumer requesting an electronic document is shown. At start state 300 the process initializes and moves to state 302 wherein the consumer computer 12 requests an electronic page 32 from the content provider computer 14. As discussed in more detail below, the consumer computer 12 uses internet browsing software (not shown) to access the content provider's URL address. The consumer browser software then accesses an electronic document 32 stored on the content provider computer 14.

Moving to state 304, the content provider computer 14 sends the electronic document 32 and the embedded advertisement request to the consumer computer 12. Proceeding to state 306, the consumer computer executes the advertisement request 26 and establishes a communications link with the advertisement provider computer 18. Proceeding to state 308, the advertisement request 26 directs the advertisement provider computer 18 to execute a content provider script which contains the content provider member code. In addition, during state 308, the advertisement provider computer 18 obtains the consumer member code 22 stored on the consumer computer 12.

Proceeding to state 310, the advertisement provider computer 18 uses the consumer member code 22 to access the consumer's profile. The advertisement provider computer 18 selects an appropriate advertisement based on the consumer's profile and then sends the customized advertisement 30 to the consumer computer 12.

Proceeding to state 312, the process combines the electronic page 32 from the content provider computer 14 and the customized advertisement 30 from the advertisement provider computer 18 into a displayable page. Once the combined page has been displayed to the consumer, the process ends at end state 314.

III. Implementation Of The Preferred Interactive Communication System

A. The Communication Medium

Focusing now on the communication medium 20 as shown in FIG. 2, the presently preferred computer medium includes the Internet 33 which is a global network of computers. The structure of the Internet 33, which is well known to those of ordinary skill in the art, includes a network backbone with networks branching from the backbone. These branches, in turn, have networks branching from them, and so on. Routers move information packets between network levels, and then from network to network, until the packet reaches the neighborhood of its destination. From the destination, the destination network's host directs the information packet to the appropriate terminal, or node. For a more detailed description of the structure and operation of the Internet 33, please refer to "The Internet Complete Reference," by Harley Hahn and Rick Stout, published by McGraw-Hill, 1994.

In one advantageous embodiment, the Internet routing hubs comprise domain name system (DNS) servers, as is well known in the art. DNS is a Transfer Control Protocol/Internet protocol (TCP/IP) service that is called upon to translate domain names to and from Internet Protocol (IP) addresses. The routing hubs connect to one or more other routing hubs via high speed communication links.

One of ordinary skill in the art, however, will recognize that a wide range of interactive communication mediums can be employed in the present invention. For example, the communication medium 20 can include interactive television networks, telephone networks, wireless data transmission systems, two-way cable systems, customized computer networks, interactive kiosk networks, automatic teller machine networks, and the like.

In addition to the Internet 33, the communication medium 20 may also contain Internet providers 34. An Internet provider 34 is a computer system which provides Internet 33 access to the consumer computers. Examples of Internet providers 34 include American On-line, the Microsoft Network, Prodigy, Compuserve, and Network Intensive to name a few. Many users pay monthly access fees to the Internet providers 34 because the Internet providers 34 provide local telephone connections, a variety of help services and an organized format for accessing the Internet 33.

The Internet providers 34 are optional, and in some cases, the consumer computers 12 may have direct access to the Internet 33. For example, the consumer computers 12 may be connected to a local area network which in turn is directly connected to the Internet 33. It should be understood that the local area network may also connect to the Internet 33 via a conventional telephone line; however, since local area networks typically have a higher volume of data traffic, it is advantageous to include a high-speed connection to support the volume of information which the local area network will transfer to and from the Internet 33.

As further depicted in FIG. 2, an Internet provider 34 connects a consumer computer 12 to the Internet 33. Typically, the Internet provider 34 is connected to an Internet routing hub via a high speed communications link. The communication links, in turn, connect to the content provider computers. When a consumer desires to access information available on the Internet 33 via an Internet provider 34, the consumer initiates a connection with the Internet provider 34 from his or her consumer computer 12.

For example, the consumer invokes a browser which executes on the consumer computer 12. The browser, in turn, establishes a communication link directly with the Internet 33 or with the Internet provider 34 via a communications link. Once connected to the Internet provider 34, the consumer can direct the browser to access information provided by one of the content provider computers 14. The Internet provider 34 then communicates with the Internet 33 to establish a communications link between the consumer computer 12 and the desired content provider computer 14.

One popular part of the Internet 33 is the World Wide Web. The World Wide Web contains different computers which store HTML documents capable of displaying graphical and textual information. The content provider computers 14 which provide information on the World Wide Web are typically called "websites." A website is defined by an Internet address which has an associated electronic page. Generally, an electronic page is a document which organizes the presentation of text, graphical images, audio and video. As discussed above, these websites are operated by a wide variety of content provider computers 14.

B. The Consumer Computers

Focusing now on the consumer computer 12 as illustrated in FIG. 4, the consumer computer 12 is a device which allows a consumer to interact with the communication medium 20. In the preferred embodiment, the consumer computer 12 is a conventional computer which is equipped with a conventional modem. Preferably, the consumer computer 12 runs an appropriate operating system such as the Microsoft® Windows® 3.1, Microsoft® Windows 95, Microsoft® Windows® NT, the Apple® MacOS®, or IBM® OS/2® operating systems. As is conventional, the preferred operating system includes a TCP/IP stack which handles all incoming and outgoing message traffic passed over the Internet 33.

In other embodiments, the consumer computer 12 could, for example, be a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device or the like which can interact with the communication medium 20. While in such systems, the operating systems will differ, they will continue to provide the appropriate communications protocols needed to establish communication links with the communication medium 20.

In the preferred embodiment, the consumer computer 12 utilizes several operational modules including a consumer browser module 40, a consumer member code 22 and an advertising storage medium 44. The consumer browser module 40 (hereinafter referred to as the consumer browser) is a software program which allows a consumer to access different content providers through the communication medium 20. In the preferred embodiment, the consumer browser 40 is the Netscape® Navigator developed by Netscape, Inc. or the Microsoft® Internet Explorer developed by Microsoft Corporation. One of ordinary skill in the art, however, will recognize that numerous other types of access software could also be used to implement the present invention. These other types of access software could, for example, be other types of Internet browsers, custom network browsers, two-way communications software, cable modem software, point-to-point software and the like.

The consumer member code module 22 stores a code which uniquely identifies each consumer. In the preferred embodiment, the consumer member code module 22, which is hereinafter referred to as the consumer member code 22, is a set of alpha-numeric characters. The consumer member code 22, as is discussed in more detail below, is assigned when the consumer registers with the advertisement provider computer 18. Thus, when a consumer registers with the advertisement provider computer 18, the consumer is assigned a unique member code. A copy of the consumer member code 22 is then stored on the consumer computer 12 in a "cookie".

A "cookie" is a small piece of information which a web server (via a CGI script) can store with a web browser and later read back from that browser. This is useful for having the browser remember some specific information across several pages; for example, when the consumer browses through a "virtual shopping mall" and add items to his "shopping cart," a list of the items he has picked up is kept in the consumer browser's cookie file so that the consumer can pay for all the items at once he has finished shopping.

To create a cookie, a web server sends a "Set-Cookie" HTTP header line in response to a URL access from a browser:

Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN₋₋ NAME; secure

NAME and VALUE are the actual information to include in the cookie. DATE is the time at which the cookie information expires and will be "forgotten" by the browser. DOMAIN is a host or domain name for which the cookie is valid. PATH specifies a subset of the URLs at that server for which the cookie is valid. If "secure" is included in the cookie, then the cookie will only be transmitted over a secure network connection. All of these fields except NAME=VALUE are optional.

Whenever the browsing software sends a HTTP request for a URL on a server for which it has stored cookies, it includes a line in the form: Cookie: NAME=VALUE; NAME=VALUE; . . . which lists all cookies that apply to that particular URL. The following is a sample CGI program (a Unix shell script) that sends a cookie to a particular URL.

#|/bin/sh

echo "Content-type: text/html"

echo "Set-cookie: codeno=12345A; expires=Thursday, Jan. 1, 1998-12:00:00 GMT"

echo ""

echo "& 1 t; H1 & gt; Here is the member code number & 1 t; /H1 & gt; "Codeno=123456"" (This is stored with the browser)

(end)

The following is an exemplary script which reads a cookie:

#|/bin/sh

echo "Content-type: text/html"

echo ""

echo "Here is the member code: & 1 t; P & gt;"

echo "$HTTP₋₋ COOKIE & 1 t; P & gt;"

(end)

An advertising storage medium 44 can also be included in the consumer computer 12, but is optional. In one embodiment, the advertising storage medium 44 is a compact disk drive and a compact disk. The compact disk stores a variety of advertisements which can be retrieved and displayed by the consumer computer 12. The advertising storage medium 44, however, can consist of a wide range of data storage devices including, but not limited to, digital video devices, floppy disks, hard drives, system memory, tape drives, Personal Computer Memory Card Interface Adapter cards (PCMCIA cards), and the like. As is discussed in more detail below, in one embodiment of the present invention, the consumer computer 12 receives an advertisement command which directs the consumer computer 12 to retrieve and display one of the advertisements stored on the advertising storage medium 44.

Preferably, the advertisement command identifies a particular location on the advertising storage medium 44, such as the particular track and sector where an advertisement is located. Because current communications systems transfer data at much slower rates than local storage devices, the consumer computer 12 can retrieve an advertisement from the advertising storage medium 44 much faster than obtaining the advertisement directly from the advertisement provider computer 18. Accordingly, a short advertisement command can be sent which specifically retrieves a particular advertisement from the advertising storage medium, which significantly reduces transmission times and response times across the communication medium 20.

C. The Content Provider Computers

A wide range of information and services are available to the consumers by accessing information stored on different content provider computers 14. In the preferred embodiment, the content provider computers 14 are websites on the World Wide Web. Preferably, the content provider computer 14 is a conventional computer which is equipped with a communications link to the Internet 33. Preferably, the content provider computer 14 runs an appropriate operating system such as Unix, Microsoft® Windows® 3.1, Microsoft® Windows 95, Microsoft® Windows® NT, the Apple® MacOS® or IBM® OS/2® operating system. As is conventional, the preferred operating system includes a TCP/IP stack which handles all incoming and outgoing message traffic passed over the Internet 33.

The content provider computers 14 can, however, include a wide range of devices with provide information, graphics or text. These devices may contain specialized operating systems which communicate using their respective communications protocols. For example, the content provider computers 14 can include, network servers, video delivery systems, audio-visual media providers, television programming providers, telephone switching networks, wireless communication centers and the like.

As illustrated in FIG. 4, the content provider computer 14 in the preferred embodiment delivers information to the consumer computer 12 by utilizing a variety of operational modules. These modules include a content server module 50 and one or more electronic pages 32.

The preferred content server module 50, which is hereinafter referred to as the content server 50 is a standard Web server software system which serves electronic pages. The content server 50 may be, for example, Netscape's Internet Server software, Microsoft's Internet Server software or the like. Such server software is configured to process messages from the consumer computers 12 and display desired electronic pages. In particular, the server software sends copies of HTML pages to each consumer computer 12 which accesses the content provider computer 14.

The electronic page module 32 within the content provider computer 14, which is hereinafter referred to as the electronic pages 32, provides an organizational structure for presenting information to the consumer. In addition, each electronic page 32 contains an advertisement insert 56. The advertisement insert 56 is a place-holder configured to contain the customized advertisement 30 generated by the advertisement provider computer 18. In the preferred embodiment, the electronic pages 32 are HTML documents which contain HTML encoding.

HTML encoding is a script encoding language which is used to define document content information. As is well known in the art, HTML is a set of conventions for marking portions of a document so that, when accessed by a browser, each portion appears with a distinctive format. The HTML indicates, or "tags," portions of the document (e.g., the title, header, body text, etc.). In the preferred embodiment, the advertising insert 56 contains the advertisement request 26. The advertisement request 26 references a content provider CGI script 64 which exists on the advertisement provider computer 18. Preferably, the advertising request 26 is an HTML tag which identifies 1) the content provider script and 2) the content provider member code and 3) the Internet address or URL of the advertisement provider computer 18.

As discussed in more detail below, when each content provider 14 registers with the advertisement provider computer 18, the advertisement provider computer 18 creates a unique content provider member code. In addition, the advertisement provider computer 18 creates a custom content provider CGI script 64 which stores the content provider member code. This custom content provider CGI script 64 is hereinafter referred to as the content provider script 64. When the advertisement provider computer 18 executes the content provider script 64, the advertisement provider computer 18 identifies which content provider computer 14 is being accessed by a consumer computer 12.

D. The Advertisement Provider Computer

The advertisement provider computer 18 shown in FIG. 4 maintains consumer information and generates customized advertisements 30. In the preferred embodiment, the advertisement provider computer 18 is a website connected to the World Wide Web. Preferably, the advertisement provider computer 18 is a conventional computer which is equipped with a communications link to the Internet 33. Preferably, the advertisement provider computer runs an appropriate operating system such as Unix, the Microsoft® Windows® 3.1, Microsoft® Windows 95, Microsoft® Windows® NT, the Apples MacOS®, the IBM® OS/2® operating systems or the like. As is conventional, the preferred operating system includes a TCP/IP stack which handles all incoming and outgoing message traffic passed over the Internet 33.

The advertisement provider computer 18 can, however, include a wide range of mechanisms for providing registration services and customized advertisement 30. These devices may contain specialized operating systems which communicate with their respective communication medium using the appropriate communications protocols. For example, the advertisement provider computers 18 can include, a server within a computer network, a provider of video delivery systems, audio-visual media server, a television programming provider, a computer connected to a telephone switching network, a computer server in a wireless communication center and the like.

The advertisement provider computer 18 utilizes a variety of modules to store customer information and to generate customized advertisements 30. The modules include a registration module 60, an advertising module 62, a registration database 68, an advertisement database 70 and an accounting database 72. The registration module 60, as is discussed in more detail below, allows customers to register with the advertisement provider computer 18.

In the preferred embodiment, the registration module 60 is an enhancement to a standard Web server. The standard Web server software may be, for example, Netscape's Internet Server software, Microsoft's Internet Server software or the like. Such server software is configured to process messages from the consumer computers 12.

In the preferred embodiment, the registration module 60 further enhances the standard server software by providing software routines which (1) assign the consumer member codes 22, (2) transfer each consumer member code 22 to the consumer computers 12, (3) assign the content provider member codes, (4) create the content provider scripts and (5) transfer the advertising request 26 to the content provider computers 14. This enhanced functionality is preferably implemented with the content provider scripts or alternatively, is integrated with the server software. For example, the enhancements can be integrated as application programming interfaces which are combined with the Netscape Server Application Programming Interface (NSAPI) or the Microsoft Internet Server Application Program Interface (ISAPI).

When a consumer computer 12 or a content provider computer 14 first accesses the advertisement provider computer 18, the registration module 60 displays registration information. In particular, the server software displays copies of HTML pages to each consumer computer 12 and content provider computer 14 which desires to register with the advertisement provider computer 18.

Thus, when a consumer registers with the advertisement provider computer 18, the registration module 60 displays a HTML document which prompts the consumer to enter demographic data. The demographic data can contain a wide variety of information, including, but not limited to, age, sex, income, career, interests, hobbies, consumer preferences, the account number of the consumer's Internet provider, other account information, etc. Once the consumer enters the demographic data, the registration module 60 stores the demographic data as a profile in the registration database 68.

The registration module 60 also, as explained in more detail below, assigns the consumer a consumer member code 22. The registration module 60 not only stores the consumer member code 22 in the registration database 68, but also sends a copy of the consumer member code 22 to be stored in a cookie on the consumer's computer 12.

When a content provider registers with the advertisement provider computer 18, the registration module 60 displays a HTML document which prompts the content provider to enter demographic data. The demographic data includes, but is not limited to, the content provider's website address, the name of the content provider, the type of products and services sold by the content provider, the size of the content provider, the content provider's account information, etc. Once the content provider enters the demographic data, the registration module 60 stores the data in the registration database 68.

The registration module 60 also assigns the content provider a content provider member code 54, stores the content provider member code 54 in the registration database 68, creates the custom content provider scripts 64, creates the advertisement request 26. The registration module 60 also is configured to send the advertisement request 26 to the content provider computer 14.

Preferably, the registration database 68 is implemented with Structured Query Language (SQL) code. The structured query language is a language standardized by the International Standards Organization (ISO) for defining, updating and querying relational databases. For example, the registration database can be implemented with any number of commercial database programs including Microsoft® Access, Oracle's relational database products and the like.

Focusing now on the advertising module 62 illustrated in FIG. 4, the advertising module 62 processes messages from the consumer computers 12. In the preferred embodiment, the advertising module 62 is a standard Web server. The advertising module 62 may be, for example, Netscape's Internet Server software, Microsoft's Internet Server software or the like. Such server software is configured to process advertisement requests 26 from the consumer computer 12.

In the preferred embodiment, the advertisement requests 26 are embedded into the content provider's electronic documents 32. When the consumer computer 12 receives the advertisement requests 26, the consumer computer 12 executes the advertisement request 26. In the preferred embodiment, the advertisement request 26 is an HTML tag which directs the consumer computer 12 to establish a communication link with the advertisement provider computer 18. In addition, the HTML tag in the advertisement request 26 directs the advertising module 62 to execute the content provider script 64 associated with the accessed content provider 14.

The advertising module 62 executes the content provider script 64 and obtains the content provider member code. In addition, the advertising module 62 uses the content provider member code 54 to obtain information about the content provider. In addition, the advertising module 62 obtains the consumer member code 22 from the consumer computer 12.

The advertising module 62 uses the consumer member code 22 to obtain a consumer profile from the registration database 68. As discussed in more detail below, the advertising module 62 then uses the consumer profile to select an appropriate advertisement from the advertisement database 70. In another embodiment, the advertising module 62 uses both the consumer profile and the content provider information to select an appropriate advertisement from the advertisement database 70. The advertising module 62 then sends a customized advertisement 30 directly to the consumer computer 12 to be incorporated into an electronic page 32 from the content provider computer 14.

Focusing now on the advertisement database 70 illustrated in FIG. 4, the advertisement database 70 contains numerous advertisements which have been designed for different types of consumers. For example, one version of an advertisement can be directed to selling fruit juice to children. Other versions of the advertisement, can be directed to selling the same fruit juice to teenagers, adults, or different demographic groups. The different versions of the advertisements are organized in the advertisement database 70 into different demographic categories which can be defined by the advertisement provider.

In addition, in the preferred embodiment, the advertisements are HTML compatible, such that an advertisement can contain hyper-links to other information. These hyper-links can contain for example, the URL of another content provider computer 14 which contains more information about the advertised product, sales pitches, electronic catalogs, purchase order forms and the like. For example, if after viewing a customized advertisement 30, a consumer wishes to obtain additional information about an advertised product or service, the consumer can simply select the hyper-link in the custom advertisement 30 and be immediately transported to a different content provider computer 14 which contains more advertising information.

In the preferred embodiment, the advertisement database 70 is implemented with Structured Query Language (SQL) code. The structured query language is a language standardized by the International Standards Organization (ISO) for defining, updating and querying relational databases. For example, the advertisements can be organized and stored in the advertisement database 70 with any number of commercial database programs including Microsoft® Access, Oracle's relational database products and the like.

The advertisement provider computer 18 stores advertisement audit information in the accounting database 72. In the preferred embodiment, the advertisement audit information includes which advertisements are viewed by consumers, how often the advertisements are viewed, which consumers have viewed an advertisement, the number and type of advertisements a particular consumer has viewed, which content providers are requesting customized advertisements, the number and type of advertisements which are being displayed by a particular content provider computer 14, etc.

Maintaining a record of the advertisement audit information in the accounting database 72 provides a number of advantages. For example, because the accounting database 72 maintains a record of which advertisements have been viewed by consumers, advertisers can be billed based on actual delivery of the advertisements to pertinent consumers. Furthermore, advertisers can be billed based on how often a targeted demographic group views the advertisements.

In addition, the ability to monitor the number of advertisements displayed by a particular content provider computer 14 provides a number of advantages. For example, the advertisement provider can pay the content provider based on the volume of advertisements actually displayed by the content provider computer 14. This frees the content providers from having to generate advertising data, from having to individually contact advertisers, from having to negotiate advertising payment fees, and from having to maintain an advertising administrative staff.

Furthermore, because the preferred embodiment also is capable of storing a consumer's Internet provider account number in the registration database 68, the preferred embodiment can monitor the number of advertisements viewed by consumers associated with a particular Internet provider 34. Accordingly, the invention can pay an Internet provider 34 based on the number of advertisements viewed by its consumers. The Internet providers 34 can then use this advertising revenue to reduce consumer access fees. Alternatively, the preferred embodiment can pay a consumer for viewing advertisements by crediting a consumer's Internet provider account.

In addition, because the preferred embodiment also is capable of storing a consumer's digital cash account, the preferred embodiment can pay the consumer with digital cash each time the consumer views an advertisement. This allows the consumer to obtain digital cash which the consumer can use to purchase other goods and services offered for sale on the Internet 33.

IV. Registration And Customized Advertisement Processing

FIG. 4 also illustrates flow of information when (1) a consumer registers with the advertisement provider computer 18, (2) a content provider registers with the advertisement provider computer 18, and (3) processing a customized advertisement 30. The data flow sequence for the consumer registration process is illustrated with event A. The data flow sequence for the content provider registration process is illustrated with event B. The data flow sequence for the customized advertisement processing is illustrated with events C through F.

A. Consumer Registration

With reference to event A, the consumer computer 12 registers with the advertisement provider computer 18 by first establishing a communications link with the advertisement provider computer 18. The flow diagram corresponding to event A is illustrated in FIG. 5. Beginning in a start state 500 in FIG. 5, the preferred embodiment of the present invention proceeds to state 502. In state 502, the consumer directs his consumer computer 12 to communicate with the advertisement provider computer 18. In particular, during state 502, the consumer inputs the URL of the advertising provider computer 18 into his consumer browser 40. The consumer browser 40 then establishes a link with the registration module 60.

Upon establishing a link with the registration module 60, the registration module 60 displays a HTML document which invites the consumer to input demographic information. Proceeding to state 504, the consumer enters information which includes, but is not limited to, age, sex, income, career, interests, hobbies, consumer preferences, the account number of the consumer's Internet provider 34, other account information, etc.

Proceeding to state 506, the registration module 60 assigns the consumer a consumer member code 22. Each consumer is assigned a separate consumer member code 22. Preferably, the consumer member code 22 comprises letters and numbers which uniquely identify the consumer. In the preferred embodiment, the registration module 60 assigns the consumer member code 22 with a CGI script which generates unique consumer member codes 22.

Proceeding to state 508, the registration module 60 stores the consumer member code 22 and the consumer's demographic data in the registration database 68. In the preferred embodiment, the registration module 60 uses standard structured query language instructions to add the consumer data and the consumer member code 22 to the registration database 68.

Proceeding to state 510, the registration module 60 then transfers the consumer member code 22 to the consumer computer 12. In the preferred embodiment, the registration module uses standard HTTP transfer procedures to transfer the consumer member code 22 to a cookie on the consumer computer 12.

Proceeding to state 512, the consumer browser 40 in the consumer computer 12 receives the consumer member code 22 and stores them on a computer accessible media. In the preferred embodiment, the consumer browser stores the consumer member code 22 in the consumer browser's Cookie. Proceeding to end state 514, the consumer computer 12 disconnects from the advertisement provider computer 18.

B. Content Provider Registration

With reference to event B illustrated in FIG. 4, the content provider computer registers with the advertisement provider computer 18 by first establishing a communications link with the advertisement provider computer 18. The flow diagram corresponding to Event B is illustrated in FIG. 6. Beginning in a start state 600, the preferred embodiment of the present invention proceeds to state 602. In state 602, the content provider directs his content provider computer 14 to establish a communications link with the registration module 60 in the advertisement provider computer 18.

Upon establishing a communications link with the registration module 60, the registration module 60 displays a HTML document which invites the content provider to input demographic information. Proceeding to state 604, the content provider enters information which includes, but is not limited to, the content provider's website address, the name of the content provider, the type of products and services sold by the content provider, the size of the content provider, the content provider's account information, etc.

Proceeding to state 606, the registration module 60 assigns the content provider a content provider member code 54. Each content provider is assigned a unique content provider member code 54. Preferably, the content provider member code 54 comprises letters and numbers which uniquely identify the content provider. In the preferred embodiment, the registration module 60 assigns the content provider member code 54 with a CGI script which generates unique content provider member codes 54.

Proceeding to state 608, the registration module 60 stores the content provider member code 54 and the content provider demographic data in the registration database 68. In the preferred embodiment, the registration module 60 uses standard structured query language instructions to add the content provider member code 54 and content provider data to the registration database 68.

Proceeding to state 610, the registration module 60 then creates the content provider script 64. Each content provider script corresponds to one of the content providers. In the preferred embodiment, the content provider script 64 contains the content provider member code. During state 610, the advertisement provider computer 18 creates the advertising request 26. Preferably, the advertising request 26 contains an HTML tag which identifies the URL of the advertising provider computer 18 and the content provider script assigned to the content provider. The registration module 60 uses standard HTTP transfer procedures to transfer the advertising insert 56 to the content provider computer 14.

Proceeding to state 612, the content provider computer 14 stores a copy of the advertisement request 26. Moving to state 614, the content provider computer 14 creates HTML electronic pages 32 which incorporate the advertising insert 56 and the advertisement request 26. The advertisement insert 56 defines the location where the customized advertisement 30 will appear in an electronic page 32. The advertisement request 26, on the other hand, references the content provider script 64 existing on the advertisement provider computer 18. The electronic pages 32 also include the information the content provider desires to convey to the consumers. Proceeding to end state 616, the content provider computer 14 disconnects from the advertisement provider computer 18.

C. Customized Advertisement Processing

As show in the high level data flow diagram of FIG. 4, events C through F illustrate the process of displaying customized advertisements 30 in the preferred embodiment of the present invention. In event C, the consumer computer 12 establishes a communications link with the content provider computer 14. In event D, the content provider computer 14 sends the electronic page 32 to the consumer computer 14.

In event E, the consumer computer 12 processes the advertisement insert 56 in the electronic page 32. As explained above, the advertisement request 26 is an HTML tag which identifies the URL of the advertisement provider computer 18 and the content provider script 64 existing in the advertisement provider computer 18. When the consumer browser module 40 processes the advertising insert 56, the advertising insert 56 directs the consumer browser module 40 to establish a communications link with the advertisement provider computer 18.

Upon establishing the communications link, the HTML tag in the advertising insert 56 directs the advertising module 62 to execute the identified content provider script 64. The advertisement provider computer 18 obtains the content provider member code from the content provider script 64. In addition, the advertising module obtains the consumer member code 22 from the consumer computer 12.

In event F, the advertisement provider computer 18 uses the consumer member code 22 to access the consumer's profile in the registration database 68. The advertisement provider computer 18 processes the consumer preferences and selects an appropriate advertisement from the advertisement database 70. The advertisement provider computer 18 then sends the customized advertisement 30 directly to the consumer computer 12. The consumer's computer then merges and displays the electronic page 32 and the customized advertisement 30 to the consumer. In addition, during event F, the advertisement provider computer 18 stores the advertising audit information which specifies which advertisement was sent to the consumer computer 12, which consumer computer 12 received the advertisement, which consumer viewed the advertisement and which Internet provider 34, if any, provided Internet 33 access to the consumer computer 12. As discussed above, this information is stored to the accounting database 72.

The operational states which occur during Events C through F will now be discussed in detail. FIG. 7 illustrates a flow chart of the operational states which occur when displaying a customized advertisement 30 to a consumer. Beginning in a start state 700, the consumer accesses the communications system in state 702. In the preferred embodiment, the consumer invokes the consumer browser 40 on his or her computer. The consumer then directs the consumer browser 40 to access the URL of the desired content provider computer 14.

Proceeding to state 704, the consumer browser 40 uses the TCP/IP Internet protocols to establish a communications link with the content server 50 in the content provider computer 14. The content provider computer 14 then uses the HTTP protocols to transfer an electronic page 32 to the consumer computer 12.

Proceeding to state 706, the consumer browser 40 processes the electronic page 32. While processing the electronic page 32, the consumer browser encounters the advertising insert 56 with its HTML tag. The advertising insert 56 directs the consumer computer 12 to send an advertisement request 26 to the advertisement provider computer 18. In the preferred embodiment, the HTML tag in the advertising insert 56 contains the URL of the advertising provider computer 18 and the content provider script 64 assigned to the content provider 14. Thus, the advertisement request 26 establishes a communications link with the advertisement provider computer 18 and invokes the identified content provider script 64.

Proceeding to decision state 708, the advertising module 62 in the advertisement provider computer 18 directs the consumer browser module 40 to send a copy of the Cookie which contains the consumer member code 22. The advertising module 62 extracts the consumer member code 22 from the Cookie and determines whether the consumer has registered with the advertisement provider computer 18. If the Cookie does not contain a consumer member code 22, the advertising module 62 proceeds to state 710. However, if the Cookie does contain a consumer member code 22, the advertising module 62 proceeds to state 712.

At state 710, the advertising module 62 fills the advertising insert 56 with an advertisement which directs the unregistered consumer to register with the advertisement provider computer 18. If the consumer has registered with the advertisement provider computer 18, the advertising module 62 proceeds to state 712. In state 712, the advertising module 62 processes the advertisement request 26. This will be discussed in more detail below in reference to FIG. 8.

After the advertisement provider delivers the customized advertisement to the consumer of state 712, the consumer receives the customized advertisement in state 714. During state 714, the consumer combines the customized advertisement with the electronic page that was requested by the consumer.

Proceeding to decision state 716, the consumer views the electronic page 32 and the customized advertisement 30. To the consumer, the electronic page 32 appears to contain the customized advertisement 30. During decision state 716, the consumer can decide to obtain additional information about the advertised goods or services by selecting the customized advertisement 30. In the preferred embodiment, the customized advertisement 30 contains a hyper-link to more advertising information. If the consumer is not interested in the advertised goods or services, the consumer proceeds back to state 704 and begins the process of viewing another electronic page 32.

During decision state 716, if the consumer continues to view the electronic page 32, the advertising module 62 continues to update the customized advertisements 30 that are seen on the consumer's computer 12. For example, if a consumer views a particular electronic page 32 for more than a minute, the advertising module 52 can send a new customized advertisement 30.

If the consumer desires to obtain more information about a good or service appearing in a customized advertisement 30, the consumer selects the customized advertisement 30 and proceeds to state 718. When the consumer selects the customized advertisement 30 during state 718, the consumer control module 42 sends a message to the advertising module 62 that the consumer has selected the customized advertisement 30. In response, the advertising module 62 stores the message in the accounting database 72.

The advertising module 62 can use such information to determine which advertisements are effective. In addition, the information allows the advertising module 62 to monitor what goods and services the consumer particularly desires. Furthermore, the advertising module 62 can charge the advertisers additional amounts whenever a consumer seeks to obtain additional advertising information. The advertising module 62 can then distribute the revenue as a bonus to the content providers and consumers. This gives the consumers additional incentive to seek more information about advertised goods and services.

Proceeding to decision state 720 the consumer decides to access other content provider computers 14 or to stop browsing the Internet 33. If the consumer desires to access other content provider computers 14, the process moves back to state 704. However, if the consumer desires to end browsing the Internet 33, the process moves to end state 722 wherein the consumer browser 40 is exited.

In FIG. 8, a detailed flow chart of the operational states which occur during process 712 are shown. Beginning in a start state 712, the advertising module proceeds to state 800. In state 800, the advertising module 62 uses the consumer member code 22 to access the corresponding consumer preferences stored in the consumer's profile in the registration database 60. The advertising module 62 then processes the consumer preferences to determine the appropriate customized advertisement 30. In the preferred embodiment, the advertising module 62 uses well known advertising techniques to categorize the consumer into a particular demographic group based on the consumer's preferences. In another embodiment, the advertising module 62 identifies advertisements which correspond to specific preferences. In yet another embodiment, the advertising module 62 focuses on a subset of advertisements and then selects the most appropriate advertisement in the subset. In still other embodiments, the advertising module can be programmed to accommodate special sales and advertising promotions.

Proceeding to state 802, the advertising module 62 selects and retrieves the customized advertisement 30 from the advertising database and sends the customized advertisement 30 to the consumer. In the preferred embodiment, the customized advertisement 30 is stored in a HTML format, and the advertising module 62 uses the HTTP protocol to send the customized advertisement 30 to the consumer computer 12, where the customized advertisement 30 is displayed within the electronic page sent to the consumer computer.

Proceeding to state 804, the advertising module 62 accesses the accounting database 72 and debits the appropriate advertiser account, credits the content provider account and credits the appropriate consumer account. In particular, the advertising module 62 stores the advertising audit information in the accounting database 72. The advertising audit information includes the consumer member code 22 and the content provider member code 54.

With the advertising audit information, the advertising module 62 determines which advertiser should pay for the customized advertisement 30 and debits the appropriate advertiser account. In addition, the advertising module 62 credits the content provider's account. Still further, the advertising module 62 credits the appropriate consumer account. In the preferred embodiment, the advertising module 62 also credits the consumer's Internet provider account number. Thus, the consumer's access charges are reduced each time a consumer views a customized advertisement 30.

In other embodiments, the advertising module 62 also credits a consumer's digital cash account each time the consumer views a customized advertisement 30. The consumer can then use the digital cash to purchase goods and services offered for sale on the Internet 33.

Upon updating the accounting database 72, the advertising module proceeds to end state 810 where it waits until the next advertisement request 26.

V. Other Embodiments

FIG. 9 shows an alternative embodiment of the present invention wherein the advertisement provider computer 18 sends the customized advertisement 30 to the content provider computer 14.

Upon receiving the customized advertisement, the content provider incorporates the customized advertisement 30 into an electronic page 32. The content provider computer 14 then forwards the electronic page 32, combined with the customized advertisement 30 to the consumer computer 12. The consumer computer 12 then displays the electronic page 32 and customized advertisement 30 to the consumer. Because transferring the customized advertisement 30 from the advertisement provider computer 18 to the content provider computer 14 happens prior to sending the electronic page 32 to the consumer, the electronic page 32 appears to the consumer like all other electronic pages 32 on the Internet 33, except that it contains the customized advertisement 30 which has been pre-selected for that consumer.

The embodiment shown in FIG. 9 allows the customized advertisements 30 to be incorporated directly into the content provider's offerings. Thus, in addition to integrating the customized advertisements 30 in to an electronic page 32, the content provider computer 14 can integrate the customized advertisements 30 into offerings such as on-line games, video programming, internet radio, virtual reality environments and the like.

For example, assuming the content provider computer 14 offers consumers on-line games such as interactive car races. In this example, the content provider computer 14 can integrate the customized advertisements 30 into signs and billboards which appear in the interactive game. In other embodiments, the content provider computer 14 can integrate the customized advertisements 30 into three dimensional worlds defined by the Virtual Reality Modeling Language (VRML 1.0). VRML 1.0 is a draft specification for the design and implementation of a platform independent language for virtual reality scene description. VRML 1.0 was released on May 26, 1995. For instance, the content provider computer 14 may display a three-dimensional mall, shopping center or city which displays customized advertisements 30 on virtual reality posters and billboards.

In another embodiment illustrated in FIGS. 10 and 11, the interactive communication system 10 includes the consumer computer 12, the content provider computer 14 and the advertisement provider computer 18. In Event A, the consumer computer 12 establishes a communication link with the content provider computer 12, the consumer computer 12 then sends the consumer's member code 22 to the content provider computer 14. A unique communications module 52 in the content provider is invoked each time a consumer computer accesses an electronic page 32. The communications module 52 interacts with the content server 50. In this embodiment, the communications module 52 is a content server plug-in and thus, plug-in tags can be programmed to invoke the communications module 52.

Once invoked, the communications module 52 directs the content server 50 to obtain the consumer's member code 22 when a consumer accesses the content server 14. Preferably, the consumer member code 22 is part of the information transmitted with the cookie from the consumer computer 12. Thus, the communication module 52 analyzes the information stored in the cookie and determines the consumer member code 22.

In event B, the content provider computer 14 sends an advertisement request 26 to the advertisement provider computer 18 via the communication medium 20. The advertisement request contains the consumer member code 22 and the content provider member code 54. When the content provider computer 14 obtains the consumer's member code 22, the content server 50 passes the consumer's member code 22 to the communication module 52 which analyzes the consumer member code 22 in order to determine whether the consumer has registered with the advertisement provider computer 18.

The communications module 52 analyzes the consumer member code 22 by determining whether it conforms to a defined format. If not, the communications module 52 directs the content provider computer 14 to display the electronic page without a customized advertisement. If so, the communications module 52 proceeds directs the content server 50 to establish a communications link with the advertisement provider computer 18.

Thus, in this embodiment, the content provider computer 14 contains its own copy of the content provider member code 54. Furthermore, the advertisement provider computer does not execute a content provider script 64 when accessed by the content provider 14. Rather, the content provider 14 in this embodiment, sends a copy of the content provider member code 54 to the advertisement provider along with every advertisement request 26.

In event C, the advertisement provider computer 18 uses the consumer's member code 22 stored in the advertisement request 26 to access the consumer's profile in the registration database 68. Based on the consumer's profile, the advertisement provider computer 18 selects an appropriate customized advertisement 30. The advertisement provider computer 18 then sends the customized advertisement 30 to the consumer computer 12.

In this embodiment, the advertising module 62 in the advertisement provider computer 18 runs a single program for every content provider computer 14 and incorporates the content provider member code 54 into the program being run. In this manner, the advertisement provider knows the identity of the consumer computer via the consumer's member code 22 and the identity of the content provider computer 14 via the content provider's member code 54.

In event D, the content provider 14 sends the requested electronic page 32 to the consumer computer 12. Located in the consumer computer 12 is a software plug-in on the consumer computer 12 called the consumer control module 42 which merges the electronic page 32 and customized advertisement 30 into a single document. Preferably, the consumer control module 42 is a plug-in that works in conjunction with the consumer browser 40.

In other embodiments, the consumer control module 42 in the consumer computer 12 is adapted to receive a Java plug-in from the content provider computer 14 which creates a separate window which can display customized advertisements 30 on the consumer computer 12. The Java programming language is a robust, secure, architecture-neutral, portable, general-purpose programming language developed by Sun Microsystems. Java supports programming for the Internet 33 in the form of independent Java "applets". Additional information about the Java programming language can be obtained at http://www.sun.com.

In another embodiment, the consumer computer 12 stores the customized advertisements 30 on the advertising storage medium 44. Rather than receiving a copy of the customized advertisement 30 over the Internet 33, the consumer control module 42 receives an advertisement command which directs the consumer control module 42 to retrieve the customized advertisement 30 from the advertising storage medium 44.

Focusing now on the flow charts illustrated in FIGS. 7 and 8, the advertising module 62 in the advertisement provider computer obtains the appropriate advertisement command from the advertisement database 70 during state 804. The advertising module then sends the advertisement command to the consumer computer 12 in state 714.

During state 714, the consumer control module 42 combines the customized advertisement 30 identified by the advertisement command with the electronic page 32 and displays them to the consumer. As stated above, because current communications systems transfer data at much slower rates than local storage devices, the consumer computer 12 can retrieve a customized advertisement 30 from the advertising storage medium 44 much faster than obtaining the advertisement directly from the advertisement provider computer 18. Accordingly, a short advertisement command can be sent which specifically retrieves a particular advertisement from the advertising storage medium, which significantly reduces transmission times and response times across the communication medium 20.

VI. Conclusion

While certain preferred embodiments of the invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. For example, although described herein with reference to the Internet 33, the customized advertisement system and methodology can be used in other types of interactive communication systems. Accordingly, the breadth and scope of the present invention should be defined only in accordance with the following claims and their equivalents. 

What is claimed is:
 1. An advertisement provider computer for customizing advertisements to be transferred via the internet, comprising:a registration module executable at an advertisement provider computer, said registration module configured to allow a consumer to register consumer demographic information, and configured to allow a content provider to register content provider information; an advertising module executable at said advertisement provider computer, said advertising module configured to select an advertisement based on said consumer demographic information and configured to transfer said advertisement to said consumer; and an accounting database, wherein said advertisement provider computer is configured to access said accounting database to bill an advertiser and credit said content provider when said advertisement is transferred to said consumer.
 2. The advertisement provider computer according to claim 1, wherein said registration module is further configured to create an advertisement request and to transfer said advertisement request to said content provider.
 3. The advertisement provider computer according to claim 2, where said advertisement request comprises an advertisement provider computer identifier and a content provider script.
 4. The advertisement provider computer according to claim 2, wherein said registration module is further configured to assign a consumer identification code to said consumer, and configured to transfer a consumer identification code to said consumer.
 5. The advertisement provider computer according to claim 4, wherein said advertising module is further configured to accept said advertisement request and said consumer identification code from said consumer.
 6. The advertisement provider computer according to claim 1, wherein said content provider information comprises content provider demographic information, and wherein said advertisement is selected based on both said consumer demographic information and said content provider demographic information.
 7. The advertisement provider computer according to claim 1, further comprising:a registration database configured to store registration information; and an advertisement database configured to store advertisement information.
 8. The advertisement provider computer according to claim 1, wherein said advertisement provider computer is further configured to access said accounting database to credit said consumer when said advertisement is transferred.
 9. The advertisement provider computer according to claim 1, wherein the advertising module is further configured to track consumer activities.
 10. The advertisement provider computer according to claim 9, wherein said consumer activities relate to said advertisement, and wherein said accounting database is further configured to update billing information based on said consumer activities.
 11. The advertisement provider computer according to claim 1, wherein said advertisement provider computer is associated with a website which is comprised of a plurality of computers.
 12. A method of providing a customized advertisement, comprising:registering a consumer and consumer demographic data at an advertisement provider computer; registering a content provider and content provider data at said advertisement provider computer; receiving a request for an advertisement at said advertisement provider computer; accessing with said advertisement provider computer, a database of advertisements which associates an advertisement with one or more advertisers; selecting with said advertisement provider computer, at least one of said advertisements from said database of advertisements based on said consumer demographic data; transferring said selected advertisement from said advertisement provider computer to said consumer through the internet; providing a bill from said advertisement provider computer to the associated advertiser, said bill based on said selected advertisement; and providing a credit from said advertisement provider computer to said content provider, said credit based on said selected advertisement.
 13. The method according to claim 12, wherein said request identifies at least said advertisement computer, said content provider, and said consumer.
 14. The method according to claim 12, wherein said content provider data comprises content provider demographic data, and wherein said selection of at least one advertisement is based on both said consumer demographic data and said content provider demographic data.
 15. The method according to claim 12, further comprising providing a consumer credit from said advertisement provider computer to said consumer, said consumer credit based on said selected advertisement.
 16. The method according to claim 12, further comprising tracking activities of said consumer.
 17. The method according to claim 16, further comprising updating one of said bill, said credit, and said consumer credit, based on said activities. 